Instruction Cache Compression for Embedded Systems
نویسندگان
چکیده
Code compression could lead to less overall system die area and therefore less cost. This is significant in the embedded system field where cost is very sensitive. In most of the recent approaches for code compression, only instruction ROM is compressed. Decompression is done between the cache and memory, and instruction cache is kept uncompressed. Additional saving could be achieved if the decompression unit is moved to between CPU and cache, and keep the instruction cache compressed as well. In this project we explored the issues for compressing the instruction cache. In the process, we constructed a high level implementation for a 64-bit, 5-stage pipeline MIPS like processor with compressed instruction cache. We developed a compression algorithm with instruction level random access within the compressed file. In addition we devised a branch compensation cache, a small cache mechanism to alleviate the unique branching penalties that branch prediction cannot reduce.
منابع مشابه
High Performance, Variable-Length Instruction Encodings
Minimizing program code size reduces power consumption and space, which is especially important in embedded systems. Existing variable-length instruction formats provide higher code densities than fixed-length formats, but are ill-suited to pipelined or parallel instruction fetch and decode. This thesis presents a new variable-length instruction format that supports parallel fetch and decode of...
متن کاملCode Compression for the Embedded ARM/THUMB Processor
Previous code compression research on embedded systems was based on typical RISC instruction code. THUMB from ARM Ltd is a compacted 16-bits instruction set showing a great code density than its original 32-bits ARM instruction. Our research shows that THUMB code is compressible and a further 10-15% code size reduction on THUMB code can be expected using our proposed new architecture – Code Com...
متن کاملReducing Code Size with Run-Time Decompression
Compressed representations of programs can be used to improve the code density in embedded systems. Several hardware decompression architectures have been proposed recently. In this paper, we present a method of decompressing programs using software. It relies on using a softwaremanaged instruction cache under control of the decompressor. This is achieved by employing a simple cache management ...
متن کاملCode Compression Techniques for Embedded Systems and Their Effectiveness
Code compression techniques have been used widely in embedded systems to decrease the amount of storage resources needed or to decrease power consumption, and in some cases, to improve performance too. This paper evaluates, using cache models, the performance, power, and cost benefits that code compression can provide in an instruction memory hierarchy. It also compares several important code c...
متن کاملImproving Dictionary-Based Code Compression in VLIW Architectures
Reducing code size is crucial in embedded systems as well as in high-performance systems to overcome the communication bottleneck between memory and CPU, especially with VLIW (Very Long Instruction Word) processors that require a high-bandwidth instruction prefetching. This paper presents a new approach for dictionary-based code compression in VLIW processor-based systems using isomorphism amon...
متن کامل